---    ******************************************ESTRAZIONE PARTITE IVA **********************
select * from asm_anagrafe_sito_ue;
truncate table asm_anagrafe_sito_ue;
insert into asm_anagrafe_sito_ue 
select rownum id_soggetto,a.codice_fiscale,a.partita_iva,a.ragione_sociale,a.telefono,a.cellulare,a.fax,a.e_mail,' ' password,A.FI_GI,0,0,0
from(



select distinct ' ' codice_fiscale,trim(sog_pARIVA) partita_iva, ' ' ragione_sociale,' ' telefono,' ' cellulare,' ' fax, ' ' e_mail,'G' FI_GI,
0,0,0
FROM (


select sog_codfis,sog_pariva,sog_tel,sog_ragsoc,sog_numcell,sog_fax,sog_email,to_number(sog_id) soggetto_ue,0 soggetto_fimm_db5,0 soggetto_fimm_db1
from sic4u_ambue.v_soggetto WHERE SOG_FLpfg = '1'
union


select pe.CODICE_FISCALE,pe.PARTITA_IVA,pe.NOMINATIVO_RAG_SOC,
'','',
'','',0,co.codice_utente soggetto_fimm_db5,0 soggetto_fimm_db1
from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'

AND   PE.PERSONA_FISICA_GIURIDICA = 'G'

union

select pe.CODICE_FISCALE,pe.PARTITA_IVA,pe.NOMINATIVO_RAG_SOC,
'','',
'','',0,0,co.codice_utente soggetto_fimm_db1
from db1.contratti@pgu3 co,db1.contratti_aggregazioni@pgu3 ca,db1.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'ASM'
and   co.CODICE_GESTIONE = 'ASM'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'

and   ca.codice_persona_titolare in (1028930,1027018)
AND   PE.PERSONA_FISICA_GIURIDICA = 'G'
)
WHERE SOG_PARIVA IS NOT NULL oR SOG_PARIVA <> ' ' or SOG_PARIVA <> '00' or SOG_PARIVA <> '000' or SOG_PARIVA <> '00000000000'






---    ******************************************ESTRAZIONE CODICI FISCALI **********************
union


select distinct trim(sog_CODFIS) codice_fiscale ,'' partita_iva, '' ragione_sociale,'' telefono,'' cellulare,'' fax, '' e_mail,'F' FI_GI, 0,0,0
 FROM (


select sog_codfis,sog_pariva,sog_tel,sog_ragsoc,sog_numcell,sog_fax,sog_email,0,0,0 from sic4u_ambue.v_soggetto WHERE SOG_FLpfg <> '1'
union
select pe.CODICE_FISCALE,pe.PARTITA_IVA,pe.NOMINATIVO_RAG_SOC,
'','',
'','',0,co.codice_utente soggetto_fimm_db5,0 soggetto_fimm_db1
from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'

AND   PE.PERSONA_FISICA_GIURIDICA <> 'G'

union

select pe.CODICE_FISCALE,pe.PARTITA_IVA,pe.NOMINATIVO_RAG_SOC,
'','',
'','',0,0,co.codice_utente soggetto_fimm_db1
from db1.contratti@pgu3 co,db1.contratti_aggregazioni@pgu3 ca,db1.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'ASM'
and   co.CODICE_GESTIONE = 'ASM'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'

and   ca.codice_persona_titolare in (1028930,1027018)
AND   PE.PERSONA_FISICA_GIURIDICA <> 'G'
)


WHERE (sog_CODFIS IS NOT NULL or sog_CODFIS <> ' ')
--AND (SOG_PARIVA IS NULL OR SOG_PARIVA = ' ' OR SOG_PARIVA = '00' OR SOG_PARIVA = '000' OR SOG_PARIVA = '00000000000')
and sog_codfis not like '%0000%'
and length(trim(sog_CODFIS)) = 16)a;